//
// Created by 29245 on 2025/8/25.
//

#ifndef ZHIZHU_PS2_H
#define ZHIZHU_PS2_H

/*********************************************************
*										手柄接口接线介绍：
*										DI ->PB12 （MOSI）
*										DO ->PB13 （MISO）
*										CS ->PB14 （CS）
*										CLK->PB15 （SCLK）
**********************************************************/
#include "main.h"
#include "stm32f1xx_hal.h"

//PS2手柄键值数据结构体
typedef struct
{
    uint8_t mode;		    /* 手柄的工作模式 */

    uint8_t btn1;         /* B0:SLCT B1:JR  B0:JL B3:STRT B4:UP B5:R B6:DOWN  B7:L   */

    uint8_t btn2;         /* B0:L2   B1:R2  B2:L1 B3:R1   B4:Y  B5:B B6:A     B7:X */

    uint8_t R_X;      /* 右边摇杆  0x00 = 左    0xff = 右   */

    uint8_t R_Y;      /* 右边摇杆  0x00 = 上    0xff = 下   */

    uint8_t L_X;      /* 左边摇杆  0x00 = 左    0xff = 右   */

    uint8_t L_Y;      /* 左边摇杆  0x00 = 上    0xff = 下   */

}PS2_TypeDef;
extern int PS2_LX,PS2_LY,PS2_RX,PS2_RY;


/*** PS2无线手柄操作函数 **********/
void AX_PS2_Init(void);  //PS2初始化
void AX_PS2_ScanKey(PS2_TypeDef* ps2);//PS2获取按键及摇杆数值



#endif //ZHIZHU_PS2_H